package com.momo.common.req.sysSetting.dept;

import com.momo.common.error.BaseReq;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * Created by MOMO on 2019/3/8.
 */
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = {"id"})
public class SaveDeptReq extends BaseReq {

    /**
     * sysDeptUuid 唯一，32位字符串，查询用.
     */
    @NotBlank(message = "部门uuid 必填", groups = {Modify.class,Detail.class})
    private String sysDeptUuid;
    /**
     * groupId 第三方组 kagome-momo-open-source默认为1.
     */
    @NotNull(message = "第三方组 必填", groups = {save.class,Modify.class})
    private Long groupId;
    /**
     * sysDeptParentId 上级部门id.
     */
    private Long sysDeptParentId = 0L;

    /**
     * sysDeptName 部门名称.
     */
    @NotBlank(message = "部门名称 必填", groups = {save.class,Modify.class})
    private String sysDeptName;
    @NotBlank(message = "父级 是否是叶子节点 0 是   1不是. 必填", groups = {save.class})
    private String sysIsLeaf="1";

    /**
     * sysDeptRemark 备注.
     */
    private String sysDeptRemark;
    /**
     * sysDeptSeq 部门在当前层级下的顺序，由小到大.
     */
    @NotNull(message = "部门在当前层级下的顺序，由小到大 必填", groups = {save.class,Modify.class})
    private Integer sysDeptSeq;

    /**
     * sysDeptStatus 状态 0启用  1禁用.
     */
    @NotBlank(message = "状态 0启用  1禁用 必填", groups = {save.class,Modify.class})
    private String sysDeptStatus;

}
